-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Use a Event-Driven model to speed up IDE (FIX #10214 #10235) #10249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
No call onBoardOrPortChange, because this is called in Base Contructor
What's your plan with this? You closed this PR, did you change your mind, or are you planning to resubmit a new PR? Would you like some review of this PR and/or the general idea already? |
Yes, I'm working on it. |
Hi @ricardojlrufino may I ask you to put these two commits into a separate PR? 60f19a8 Avoid call rescanLibraries() twice #10228 I think they are OK and could be merged independently and solve #10228 (also it would make this PR slightly simpler for you to work on) |
I think I can cherry pick from your branch, will open a PR shortly. |
Description
My strategy was to try to solve the problems with as little refactoring as possible, so it was essential
the creation of the project: eventbus4j. (All the good projects I found use annotations, and I didn't think it was cool ...)
PS: Some parts of the changes made to this 'PR' were discussed in detail at: #10214 , #10235 and mail list.
Design improvements:
It is now possible to decouple the methods, making it easier to maintain UI consistency, using specific actions / events:
However, it was little explored, and some design errors are still present, because as I said I tried to make as few changes as possible.
Performance improvements:
Many methods were called several times unnecessarily, some were quite costly and hindered the IDE responsiveness.
In my environment it got 11s faster (but it depends a lot of the environment)
There are some proposals for improvements
Tests
PS: I don't know exactly how to write tests for Interface, I tried to run locally and many tests failed.
I wrote the tests for eventbus4j (basic and concurrency tests, etc.)
About Event system:
Here it simplifies the way of use:
For more details see:
https://github.com/ricardojlrufino/eventbus4j
All Submissions:
New Feature Submissions:
Changes to Core Features: